package com.bytz.modules.cms.order.model;

import com.bytz.common.aspect.annotation.Dict;
import com.bytz.common.entity.annotation.MPJFieldMapping;
import com.bytz.modules.cms.order.entity.Order;
import com.bytz.modules.cms.order.entity.OrderPay;
import com.bytz.modules.cms.order.entity.OrderPayDetail;
import com.bytz.modules.cms.order.entity.OrderPickUpDetail;
import com.bytz.modules.cms.reseller.entity.Reseller;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

@Getter
@Setter
@EqualsAndHashCode(callSuper = true)
public class OrderPickUpDetailModel extends OrderPickUpDetail {
    @ApiModelProperty("经销商id")
    @MPJFieldMapping(entityClass = Order.class)
    private String resellerId;

    @ApiModelProperty(value = "合同号")
    @MPJFieldMapping(entityClass = Order.class)
    private String contractNumber;

    @ApiModelProperty("经销商名")
    @MPJFieldMapping(entityClass = Reseller.class)
    private String resellerName;

    @ApiModelProperty(value = "需方交付用户id")
    @MPJFieldMapping(entityClass = Order.class)
    private String shipToId;

    @ApiModelProperty(value = "需方交付客户编码")
    @MPJFieldMapping(entityClass = Order.class)
    private String shipToNumber;

    @ApiModelProperty(value = "需方交付单位名称")
    @MPJFieldMapping(entityClass = Order.class)
    private String shipToName;

    @ApiModelProperty(value = "需方用户id")
    @MPJFieldMapping(entityClass = Order.class)
    private String demanderId;

    @ApiModelProperty(value = "需方客户编码")
    @MPJFieldMapping(entityClass = Order.class)
    private String demanderNumber;

    @ApiModelProperty(value = "需方单位名称")
    @MPJFieldMapping(entityClass = Order.class)
    private String demanderName;

    @ApiModelProperty(value = "需方交付单位地址")
    private String shipToAddress;

    @ApiModelProperty(value = "需方交付联系人")
    private String shipToContact;

    @ApiModelProperty(value = "需方交付联系人电话")
    private String shipToPhone;

    @Dict(dicCode = "mall_order_ec_status")
    @ApiModelProperty(value = "EC状态")
    private String ecStatus;

    @Dict(dicCode = "mall_order_ecRequired")
    @ApiModelProperty(value = "EC是否必填")
    private String ecRequired;

    @ApiModelProperty(value = "EC审批材料")
    private String ecAuditFile;

    @ApiModelProperty(value = "EC其他审批材料")
    private String ecAuditOtherFile;

    @ApiModelProperty(value = "c4c机会id")
    private String opportunityId;

    @ApiModelProperty(value = "c4c机会名称")
    private String opportunityName;

    @ApiModelProperty(value = "c4c机会object id")
    private String opportunityObjectId;

    @ApiModelProperty(value = "c4c报价id")
    private String quotationId;

    @ApiModelProperty(value = "sap报价id")
    private String sapQuotationId;

    @ApiModelProperty(value = "c4c销售订单id")
    private String c4cSalesOrderId;

    @ApiModelProperty(value = "交易完成日期时间")
    @MPJFieldMapping(entityClass = OrderPay.class)
    private LocalDateTime completeDateTime;

    @ApiModelProperty(value = "sap销售订单id")
    private String sapSalesOrderId;

}
